ডেটাবেস মাইগ্রেশন হলো একটি পদ্ধতি, যা ডেটাবেস স্কিমাকে কোডের মাধ্যমে ভার্সন কন্ট্রোলে রাখতে সাহায্য করে। ASP.NET Core এ Entity Framework Core (EF Core) ব্যবহার করে মাইগ্রেশন তৈরি, আপডেট এবং পরিচালনা করা হয়। এটি ডেভেলপারদের ডেটাবেসের কাঠামো পরিবর্তন এবং নতুন ফিচার যোগ করতে সহজ করে তোলে।
ডেটাবেস মাইগ্রেশনের জন্য EF Core Tools প্রয়োজন। প্যাকেজ ইন্সটল করতে কমান্ড ব্যবহার করুন:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
DbContext হলো EF Core এর মূল উপাদান, যা ডেটাবেস এবং অ্যাপ্লিকেশন লজিকের মধ্যে ব্রিজ হিসাবে কাজ করে।
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
public DbSet<Product> Products { get; set; }
}
Startup.cs
বা Program.cs
ফাইলে DbContext রেজিস্টার করুন:
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
ডেটাবেস মডেলের জন্য একটি ক্লাস তৈরি করুন:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
ডেটাবেস মডেলের ভিত্তিতে প্রথম মাইগ্রেশন তৈরি করতে কমান্ড ব্যবহার করুন:
dotnet ef migrations add InitialCreate
এটি Migrations
ফোল্ডারে মাইগ্রেশন ফাইল তৈরি করবে। উদাহরণ:
InitialCreate
: মাইগ্রেশনের নাম।মাইগ্রেশন ডেটাবেসে অ্যাপ্লাই করতে নিম্নলিখিত কমান্ড দিন:
dotnet ef database update
এই কমান্ডটি ডেটাবেস তৈরি করে এবং মাইগ্রেশনে সংজ্ঞায়িত স্কিমা প্রয়োগ করে।
মডেলে কোনো পরিবর্তন হলে নতুন মাইগ্রেশন তৈরি করুন। উদাহরণস্বরূপ, মডেলে একটি নতুন প্রোপার্টি যোগ করুন:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public string Category { get; set; } // নতুন প্রোপার্টি
}
নতুন মাইগ্রেশন তৈরি করুন:
dotnet ef migrations add AddCategoryToProduct
নতুন পরিবর্তন ডেটাবেসে অ্যাপ্লাই করতে:
dotnet ef database update
ডেটাবেসকে আগের অবস্থায় ফিরিয়ে নিতে একটি নির্দিষ্ট মাইগ্রেশন পর্যন্ত রোলব্যাক করতে পারেন:
dotnet ef database update PreviousMigrationName
ডেটাবেসের সব মাইগ্রেশন মুছে ফেলতে:
dotnet ef migrations remove
ডেটাবেসে ডিফল্ট ডেটা যোগ করার জন্য Data Seeding ব্যবহৃত হয়। এটি OnModelCreating
মেথডের মাধ্যমে কনফিগার করা যায়:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>().HasData(
new Product { Id = 1, Name = "Laptop", Price = 1200, Category = "Electronics" },
new Product { Id = 2, Name = "Phone", Price = 800, Category = "Electronics" }
);
}
মাইগ্রেশন তৈরি এবং আপডেট করার পর এই ডেটা ডেটাবেসে যুক্ত হবে।
ASP.NET Core এর Database Migrations ফিচার ডেভেলপারদের জন্য ডেটাবেস ব্যবস্থাপনায় একটি অত্যন্ত কার্যকরী এবং শক্তিশালী টুল। এটি কোডের মাধ্যমে ডেটাবেস পরিবর্তন পরিচালনা করে, যা ডেটাবেস আপডেট এবং মেইনটেনেন্সকে সহজ এবং স্বয়ংক্রিয় করে তোলে।
ডেটাবেস মাইগ্রেশন হলো একটি প্রক্রিয়া, যার মাধ্যমে ডেটাবেসের স্কিমা (তথ্য কাঠামো) পরিবর্তন করা হয়, যাতে নতুন ফিচার বা আপডেট করা কার্যকারিতার জন্য ডেটাবেসের গঠন বা কনফিগারেশন সামঞ্জস্যপূর্ণ হয়। ASP.NET Core এর সাথে ব্যবহৃত Entity Framework Core (EF Core) এর মাধ্যমে এই মাইগ্রেশন কার্যক্রমটি পরিচালনা করা হয়। মাইগ্রেশন ব্যবহার করে ডেভেলপাররা ডেটাবেসে যে পরিবর্তন বা আপডেট করতে চান, সেগুলি স্বয়ংক্রিয়ভাবে বা ম্যানুয়ালি ডেটাবেসে প্রয়োগ করতে পারেন।
মাইগ্রেশনটি মূলত একটি কোড-ভিত্তিক ডেটাবেস আপডেট ব্যবস্থা। যখন আপনি Entity Framework Core ব্যবহার করেন, তখন আপনার মডেলগুলিতে (যেমন DbContext
বা মডেল ক্লাসে) পরিবর্তন আনলে EF Core মাইগ্রেশন টুল ব্যবহার করে এই পরিবর্তনগুলো ডেটাবেসে প্রয়োগ করা হয়। মাইগ্রেশন স্বয়ংক্রিয়ভাবে ডেটাবেসের স্কিমা পরিবর্তন করে যেমন নতুন টেবিল, কলাম যোগ করা, পূর্ববর্তী কলাম মুছে ফেলা বা প্রোপার্টি পরিবর্তন করা।
ডেটাবেসের স্কিমা পরিবর্তন করতে হলে, ডেটাবেসে নতুন টেবিল বা কলাম যুক্ত করা, পুরনো টেবিল মুছে ফেলা বা তাদের নাম পরিবর্তন করা প্রয়োজন হতে পারে। মাইগ্রেশন এসব পরিবর্তন সঠিকভাবে এবং ব্যাকআপ সহ পরিচালনা করতে সাহায্য করে। মাইগ্রেশন আপনাকে নিরাপদে এই পরিবর্তনগুলো টেস্ট এবং প্রয়োগ করার সুযোগ দেয়।
যখন কোডবেসের মধ্যে পরিবর্তন করা হয়, তখন সেই পরিবর্তনগুলো ডেটাবেসে সিঙ্ক্রোনাইজ করতে মাইগ্রেশন প্রয়োজন হয়। আপনি যদি নতুন ফিচার বা মডেল তৈরি করেন, তাহলে ডেটাবেসেও সেই পরিবর্তনগুলো প্রয়োজন। মাইগ্রেশন এই পরিবর্তনগুলো সহজে ডেটাবেসে প্রয়োগ করতে সাহায্য করে, যাতে কোডবেস এবং ডেটাবেসের কাঠামো একসাথে সামঞ্জস্যপূর্ণ থাকে।
মাইগ্রেশন ডেটাবেসের সংস্করণ কন্ট্রোল তৈরি করতে সাহায্য করে। এর মাধ্যমে আপনি দেখতে পারবেন কখন কোন পরিবর্তন করা হয়েছে এবং সেই পরিবর্তনগুলির পূর্ববর্তী অবস্থান কিভাবে ছিল। এটি টিম ডেভেলপমেন্টের ক্ষেত্রে গুরুত্বপূর্ণ, কারণ বিভিন্ন ডেভেলপার একসাথে কাজ করতে পারেন এবং প্রতিটি পরিবর্তনের ইতিহাস ট্র্যাক করা সম্ভব হয়।
মাইগ্রেশন ব্যবহার করে আপনি ডেটাবেসের পরিবর্তন রোলব্যাকও করতে পারেন। যদি কোনো মাইগ্রেশন পরিবর্তন ঠিকভাবে না চলে বা কোনো সমস্যা সৃষ্টি করে, আপনি সহজেই পূর্ববর্তী মাইগ্রেশন স্টেটসে ফিরে যেতে পারবেন। মাইগ্রেশন আপনাকে পূর্বের অবস্থায় ফিরে আসার সুযোগ দেয়।
মাইগ্রেশনগুলো ইনক্রিমেন্টাল (ধাপে ধাপে) হয়। এতে ডেভেলপাররা ছোট ছোট পরিবর্তন করতে পারেন, যা ডেটাবেসের জন্য আরও নিরাপদ এবং ব্যবহারযোগ্য। একটি বড় আপডেটের পরিবর্তে ছোট ছোট মাইগ্রেশন গুলি সম্পাদন করা ভাল, যাতে সহজে সমস্যা চিহ্নিত এবং সমাধান করা যায়।
EF Core ডেভেলপারদের ডেটাবেসের স্কিমা পরিবর্তন পরিচালনার জন্য মাইগ্রেশন টুলস সরবরাহ করে। এটি কোড থেকে ডেটাবেসের মধ্যে পার্থক্য খুঁজে বের করে এবং সেই পার্থক্য ডেটাবেসে প্রয়োগ করে।
EF Core-এ মাইগ্রেশন তৈরি করতে CLI অথবা Package Manager Console (PMC) ব্যবহার করা যায়।
CLI ব্যবহার করে:
dotnet ef migrations add MigrationName
PMC ব্যবহার করে:
Add-Migration MigrationName
এখানে, MigrationName হলো আপনার মাইগ্রেশনের নাম, যা আপনি যে পরিবর্তন করেছেন তার উপর ভিত্তি করে নামকরণ করবেন।
মাইগ্রেশন প্রয়োগ করতে:
CLI ব্যবহার করে:
dotnet ef database update
PMC ব্যবহার করে:
Update-Database
এই কমান্ডটি ডেটাবেসের স্কিমায় সমস্ত মাইগ্রেশন পরিবর্তন প্রয়োগ করবে।
যদি আপনি পূর্ববর্তী মাইগ্রেশন স্টেটে ফিরে যেতে চান, তাহলে:
CLI ব্যবহার করে:
dotnet ef database update PreviousMigrationName
PMC ব্যবহার করে:
Update-Database PreviousMigrationName
ডেটাবেস মাইগ্রেশন টুলস ডেভেলপারদের মধ্যে সহযোগিতা সহজ করে। যখন একাধিক ডেভেলপার একসাথে কাজ করেন, মাইগ্রেশন তাদেরকে ডেটাবেসের স্কিমা পরিবর্তন সঠিকভাবে পরিচালনা করতে সহায়তা করে এবং তারা একে অপরের পরিবর্তন সমন্বয় করতে পারে।
ডেটাবেস মাইগ্রেশন একটি অত্যন্ত গুরুত্বপূর্ণ প্রক্রিয়া, যা ডেটাবেসের স্কিমা পরিবর্তনকে সঠিকভাবে এবং নিরাপদে পরিচালনা করতে সাহায্য করে। এটি ডেভেলপারদের কোডবেস এবং ডেটাবেসের মধ্যে সিঙ্ক্রোনাইজেশন নিশ্চিত করতে, সংস্করণ কন্ট্রোল এবং রোলব্যাক সুবিধা প্রদান করে। Entity Framework Core ব্যবহার করে মাইগ্রেশন সহজভাবে তৈরি এবং প্রয়োগ করা যায়, যা ডেভেলপারদের জন্য সময় সাশ্রয়ী এবং কার্যকরী একটি পদ্ধতি।
ASP.NET Core এ ডাটাবেস মাইগ্রেশন ব্যবহৃত হয় ডেটাবেসের স্কিমা আপডেট করতে, যা Entity Framework Core (EF Core) এর মাধ্যমে করা হয়। মাইগ্রেশন ব্যবহার করে আপনি আপনার মডেল ক্লাসের পরিবর্তনগুলিকে ডাটাবেসে প্রতিফলিত করতে পারেন। প্রথম মাইগ্রেশন তৈরি করার প্রক্রিয়াটি খুবই সহজ এবং কয়েকটি ধাপে করা যায়।
ডাটাবেস মাইগ্রেশন তৈরি করতে হলে প্রথমে আপনাকে কিছু পদক্ষেপ সম্পন্ন করতে হবে:
DbContext
ক্লাস তৈরি করতে হবে, যা ডাটাবেসের সঙ্গে যোগাযোগ করবে এবং আপনার মডেল ক্লাসগুলিকে সনাক্ত করবে।প্রথমে, আপনাকে Entity Framework Core-এর প্রয়োজনীয় প্যাকেজ ইনস্টল করতে হবে। আপনি NuGet Package Manager
ব্যবহার করে অথবা dotnet CLI
এর মাধ্যমে এটি ইনস্টল করতে পারেন।
NuGet প্যাকেজ ইনস্টল (NuGet Package Manager):
dotnet CLI ব্যবহার করে ইনস্টল:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
DbContext
হলো EF Core এর মূল অংশ, যা ডেটাবেসের সাথে যোগাযোগ করে। আপনার DbContext
ক্লাসের মধ্যে ডেটাবেসের টেবিলগুলির জন্য DbSet প্রপার্টি থাকতে হবে।
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<User> Users { get; set; } // একটি টেবিল হিসেবে 'Users'
}
এখানে User
হলো একটি মডেল ক্লাস, যা ডাটাবেসের একটি টেবিলকে প্রতিনিধিত্ব করে।
EF Core এর মাধ্যমে মাইগ্রেশন তৈরি করতে হলে আপনাকে dotnet ef
টুল ব্যবহার করতে হবে। প্রথম মাইগ্রেশন তৈরির জন্য নিচের ধাপগুলি অনুসরণ করুন:
ডাটাবেস কনফিগারেশন যোগ করা: আপনার Startup.cs
ফাইলে, ConfigureServices
মেথডে DbContext
যোগ করুন:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
প্রথম মাইগ্রেশন তৈরি করুন: নিচের কমান্ডটি ব্যবহার করুন:
dotnet ef migrations add InitialCreate
এখানে, InitialCreate
হলো আপনার মাইগ্রেশনের নাম। আপনি এটি পরিবর্তন করতে পারেন, তবে সাধারণত এটি প্রথম মাইগ্রেশন হলে "InitialCreate" ব্যবহার করা হয়।
মাইগ্রেশন তৈরি হওয়ার পর, ডাটাবেস আপডেট করতে হবে যাতে আপনার ডাটাবেস স্কিমা মডেলের সাথে সামঞ্জস্যপূর্ণ হয়ে ওঠে। নিচের কমান্ডটি ব্যবহার করে ডাটাবেস আপডেট করুন:
dotnet ef database update
এটি মাইগ্রেশন ফাইল অনুযায়ী ডাটাবেস তৈরি বা আপডেট করবে।
মাইগ্রেশন তৈরি হলে, একটি ফোল্ডার তৈরি হবে যার নাম হবে Migrations। এই ফোল্ডারে একটি .cs
ফাইল থাকবে, যেখানে আপনার মডেল ক্লাসের পরিবর্তনগুলির জন্য কোড থাকবে। মাইগ্রেশন ফাইলটি ডাটাবেস স্কিমা পরিবর্তনের নির্দেশনা দেয়।
public partial class InitialCreate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Users",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Name = table.Column<string>(nullable: true),
Email = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Users", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Users");
}
}
এখানে, Up
মেথডে ডাটাবেস টেবিল তৈরি করা হয় এবং Down
মেথডে টেবিল মুছে ফেলা হয় যদি আপনি মাইগ্রেশনটি রোলব্যাক করতে চান।
প্রথম মাইগ্রেশন তৈরি করার প্রক্রিয়া বেশ সহজ। আপনি DbContext তৈরি করার পর, মাইগ্রেশন কমান্ড ব্যবহার করে প্রথম মাইগ্রেশন তৈরি করতে পারেন এবং ডাটাবেস আপডেট করতে পারেন। মাইগ্রেশন ব্যবহারের মাধ্যমে, আপনার মডেল ক্লাসের কোনো পরিবর্তন সহজেই ডাটাবেসে প্রতিফলিত হয়, যা ডাটাবেস পরিচালনার কাজকে আরও সহজ এবং কার্যকরী করে তোলে।
ASP.NET Core-এ Entity Framework Core (EF Core) ব্যবহার করে ডেটাবেস মডেল ম্যানেজ করার জন্য মাইগ্রেশন (Migration) একটি গুরুত্বপূর্ণ টুল। এটি ডেটাবেস স্কিমা এবং অ্যাপ্লিকেশনের মডেল ক্লাসের মধ্যে সামঞ্জস্য রাখতে সাহায্য করে। কখনো কখনো মাইগ্রেশন আপডেট করতে হয়, আবার প্রয়োজনে রোলব্যাক (Rollback) করাও দরকার হতে পারে।
মাইগ্রেশন আপডেট করার মাধ্যমে অ্যাপ্লিকেশনের মডেল ক্লাসে করা পরিবর্তনগুলো ডেটাবেসে প্রয়োগ করা হয়।
যদি মডেল ক্লাসে পরিবর্তন করা হয়, তবে প্রথমে একটি নতুন মাইগ্রেশন তৈরি করতে হবে।
dotnet ef migrations add MigrationName
উদাহরণ:
dotnet ef migrations add AddNewColumn
এই কমান্ডটি Migrations
ফোল্ডারে একটি নতুন মাইগ্রেশন ফাইল তৈরি করবে, যেখানে ডেটাবেস স্কিমায় প্রয়োজনীয় পরিবর্তনের বিবরণ থাকবে।
নতুন মাইগ্রেশনটি ডেটাবেসে প্রয়োগ করার জন্য update
কমান্ডটি ব্যবহার করতে হবে।
dotnet ef database update
উদাহরণ:
মডেল ক্লাসে একটি নতুন কলাম যোগ করার পর এটি ডেটাবেসে প্রয়োগ করতে উপরের কমান্ডটি ব্যবহার করা হবে।
কোনো কারণে যদি মাইগ্রেশনে করা পরিবর্তন বাতিল করতে হয়, তবে রোলব্যাক করতে হবে।
ডেটাবেসকে একটি নির্দিষ্ট মাইগ্রেশন পর্যন্ত রোলব্যাক করার জন্য update
কমান্ডে মাইগ্রেশনের নাম উল্লেখ করতে হবে।
dotnet ef database update MigrationName
উদাহরণ:InitialCreate
নামক মাইগ্রেশনে ফিরে যেতে হলে:
dotnet ef database update InitialCreate
শেষ মাইগ্রেশনের পরিবর্তন বাতিল করতে মাইগ্রেশন ফাইলটি মুছে দিন এবং তারপর ডেটাবেসকে পূর্ববর্তী অবস্থায় আপডেট করুন।
dotnet ef database update PreviousMigrationName
উদাহরণ:
শেষ মাইগ্রেশনটি যদি AddNewColumn
হয়, তবে এটি বাতিল করতে:
dotnet ef database update InitialCreate
যদি ডেটাবেস সম্পূর্ণ রিসেট করতে হয়, তবে নিচের ধাপগুলো অনুসরণ করুন:
ডেটাবেস মুছে ফেলুন:
dotnet ef database drop
মাইগ্রেশন পুনরায় প্রয়োগ করুন:
dotnet ef database update
Up
এবং Down
মেথডগুলো ভালোভাবে চেক করুন। নিশ্চিত করুন যে Down
মেথডে সব পরিবর্তন সঠিকভাবে রোলব্যাক হচ্ছে।মাইগ্রেশন আপডেট এবং রোলব্যাক করার প্রক্রিয়া ডেটাবেস স্কিমা এবং মডেলের মধ্যে সঠিক সামঞ্জস্য নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। মাইগ্রেশন সঠিকভাবে ব্যবহারের মাধ্যমে আপনি ডেটাবেস পরিবর্তন সহজে পরিচালনা করতে পারবেন এবং প্রোডাকশনে ত্রুটির ঝুঁকি কমাতে পারবেন।
ডেটা সিডিং হলো একটি প্রক্রিয়া যেখানে প্রাথমিক ডেটা ডেটাবেসে স্বয়ংক্রিয়ভাবে ইনসার্ট করা হয়। সাধারণত এটি ডেভেলপমেন্ট বা টেস্টিং পরিবেশে ব্যবহৃত হয়, যেখানে ডেটাবেসে কিছু প্রাথমিক বা নমুনা (sample) ডেটা থাকতে হয়। ASP.NET Core-এ Entity Framework Core ব্যবহার করে ডেটা সিডিং খুবই সহজ। ডেটা সিডিংয়ের মাধ্যমে আপনি ডেটাবেসের টেবিলগুলোতে প্রাথমিক ডেটা প্রদান করতে পারেন।
ASP.NET Core-এ ডেটা সিডিং করার জন্য DbContext ক্লাসের মাধ্যমে ডেটাবেসে ডেটা ইনসার্ট করা হয়। সাধারণত, ডেটা সিডিং Seed পদ্ধতি দিয়ে করা হয়, যা ডেটাবেস মাইগ্রেশন চলাকালীন বা অ্যাপ্লিকেশন চালু হলে কল করা হয়।
প্রথমে, DbContext ক্লাসে OnModelCreating
মেথডে প্রাথমিক ডেটা সিড করা হয়। এক্ষেত্রে আপনি HasData মেথড ব্যবহার করতে পারেন।
public class ApplicationDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{ }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Product টেবিলের জন্য প্রাথমিক ডেটা সিড করা
modelBuilder.Entity<Product>().HasData(
new Product { Id = 1, Name = "Laptop", Price = 1000 },
new Product { Id = 2, Name = "Phone", Price = 500 }
);
}
}
এখানে, Products
টেবিলের জন্য দুটি প্রাথমিক ডেটা সিড করা হয়েছে, যা ডেটাবেসে Product ক্লাসের ইনস্ট্যান্স হিসেবে ইনসার্ট হবে।
একবার ডেটা সিডিং প্রস্তুত হয়ে গেলে, আপনাকে মাইগ্রেশন তৈরি করতে হবে এবং ডেটাবেস আপডেট করতে হবে:
dotnet ef migrations add SeedDataMigration
dotnet ef database update
এখানে, SeedDataMigration
হলো মাইগ্রেশনের নাম, যা নতুন ডেটাবেস স্কিমা এবং প্রাথমিক ডেটা ইনসার্ট করবে।
আপনি যদি আরও কাস্টম লজিক ব্যবহার করতে চান, যেমন শুধুমাত্র যখন ডেটাবেস খালি থাকে তখনই ডেটা সিড করা, তবে আপনি একটি Seed
মেথড তৈরি করতে পারেন এবং এটি Startup.cs-এ কল করতে পারেন।
public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider, ApplicationDbContext context)
{
// ডেটাবেস যদি খালি থাকে তবে সিড ডেটা যোগ করা
if (!context.Products.Any())
{
context.Products.AddRange(
new Product { Name = "Tablet", Price = 300 },
new Product { Name = "Smartwatch", Price = 150 }
);
context.SaveChanges();
}
}
}
এখানে, যদি Products
টেবিলটি খালি থাকে, তবে নতুন প্রোডাক্ট ডেটা ইনসার্ট করা হবে। এই Initialize
মেথডটি Configure মেথডে কল করতে হবে।
Startup.cs-এ Configure মেথডে এই SeedData.Initialize
মেথডটি কল করতে হবে।
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ডেটা সিডিং করার জন্য
SeedData.Initialize(app.ApplicationServices, new ApplicationDbContext());
// অন্যান্য কনফিগারেশন
}
এটি নিশ্চিত করে যে, অ্যাপ্লিকেশন শুরু হওয়ার সময় ডেটাবেসে প্রাথমিক ডেটা সিড করা হবে।
ডেটা সিডিং হচ্ছে ডেটাবেসে প্রাথমিক বা নমুনা ডেটা ইনসার্ট করার একটি প্রক্রিয়া যা ডেভেলপমেন্ট বা টেস্টিং পরিবেশে অত্যন্ত গুরুত্বপূর্ণ। Entity Framework Core এর মাধ্যমে সহজেই OnModelCreating অথবা কাস্টম সিড মেথড ব্যবহার করে ডেটা সিড করা যায়। এই প্রক্রিয়া ডেটাবেস মাইগ্রেশন এবং আপডেটের সাথে সম্পর্কিত, এবং এটি অ্যাপ্লিকেশনের প্রথমবার চালু হওয়ার সময় প্রাথমিক ডেটা ইনসার্ট করতে সহায়তা করে।
common.read_more